1. Technical Field
The present disclosure relates to operating systems, and more particularly to monitoring operating systems.
2. Discussion of Related Art
In the area of operating system (OS) and application monitoring, typically monitoring software relies on an infrastructure of a production OS that is being monitored. When the OS is malfunctioning due to resource constraints, software errors, etc., the monitoring software cannot be relied on to run. At a time when it is most needed, monitoring software may not be functioning due to the same issues afflicting the monitored software.
Existing solutions and proposals for operating system (OS) and application monitoring can be divided into two categories. The first category requires separate partitions or machines. Separate partitions are resource intensive and increase a systems-management burden on administrators and increase technical complexity due to the inability to share virtual storage. Further, a limited number of partitions are available and there may not be enough to dedicate one partition to each production image.
The second category uses an agent or small amount of code resident on the monitored system to capture data that is sent to a separate server system. This agent code is subject to the problems occurring on the monitored system, and therefore, the agent may not run if the production OS is not functioning. The agent consumes computing resources, which may increase software licensing costs on the production OS. The agent itself may cause problems on the production OS by overlaying memory or looping. The agent code increases the dispatch latency of work on the production OS, since the agent typically runs at a high dispatching priority.
Further, monitoring products run in a privileged state and can damage OS structures if the monitoring software contains bugs.
Therefore, a need exists for systems and methods for monitoring of operating systems and applications that do not substantially increase the dispatch latency of work on the production OS.